package com.tanhua.dubbo.api.mongo;

import com.tanhua.model.mongo.Movement;
import com.tanhua.model.vo.PageResult;

import java.util.List;

/**
 * 圈子-服务提供者接口
 */
public interface MovementApi {
    /**
     * 动态-发布
     */
    void publish(Movement movement);

    /**
     * 根据分页参数以及userId 分页查询动态发布表
     * @param page
     * @param pagesize
     * @param currendUserId
     * @return
     */
    PageResult<Movement> findPageByUserId(Long page, Long pagesize, Long currendUserId);

    /**
     * 根据用户id分页查询好有时间线数据 再查询动态表
     * @param page
     * @param pagesize
     * @param userId
     * @return
     */
    PageResult<Movement> findFriendMovements(Long page, Long pagesize, Long userId);

    /**
     * 随机产生10个动态记录
     * @return
     */
    List<Movement> randomMovement();

    /**
     * 根据推荐系统写入redis的Pids查询动态数据
     * @param listPids
     * @return
     */
    List<Movement> findByPids(List<Long> listPids);

    /**
     * 单条动态查询
     */
    Movement findById(String movementId);
}
